package com.itheima.alipay.config;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 支付宝配置文件
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "alipay")
public class AliPayConfig {

    // 您的APPID，收款账号既是您的APPID对应支付宝账号
    private String APP_ID;

    // 商户私钥，您的PKCS8格式RSA2私钥
    private String MERCHANT_PRIVATE_KEY;

    // 支付宝公钥(不是应用公钥) 查看地址：https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
    private String ALIPAY_PUBLIC_KEY;

    // 服务器【异步通知】页面路径 需http://格式的完整路径，不能加?id=123这类自定义参数，必须外网可以正常访问
    private String NOTIFY_URL;

    // 页面跳转【同步通知】页面路径 需http://格式的完整路径，不能加?id=123这类自定义参数，必须外网可以正常访问
    private String RETURN_URL;

    // 签名方式
    private String SIGN_TYPE;

    // 支付宝网关(沙盒环境)
    private String GATEWAY_URL;


    @Bean
    public AlipayClient alipayClient() {
        return new DefaultAlipayClient(getGATEWAY_URL(), APP_ID,
                MERCHANT_PRIVATE_KEY, "json", "utf-8", ALIPAY_PUBLIC_KEY, SIGN_TYPE);
    }

}
